package edu.scsw.tech.unit3;

// 静态变量和静态代码块在类加载时执行一次。
// 静态代码块按照它们在类中出现的顺序依次执行。
// 静态变量在整个类加载过程中共享一个值，所有静态代码块和静态方法都可以访问和修改它。
public class StaticStuff {
    // 静态变量 x
    static int x;

    // 第一个静态代码块
    static {
        System.out.println("x1=" + x); // 输出 x 的初始值，默认值为 0
        x += 5; // 将 x 的值增加 5，x 变为 5
    }

    // 第二个静态代码块
    static {
        System.out.println("x3=" + x); // 输出 x 的当前值，此时 x 为 5
        x %= 3; // 计算 x 对 3 的余数，x 变为 2
    }

    public static void main(String[] args) {
        System.out.println("x2=" + x); // 输出 x 的当前值
    }
}
